﻿using System;

namespace diantou.dataModel
{
    /// <summary>
    /// 教程
    /// </summary>
    [fastCSharp.emit.dataSerialize(IsReferenceMember = false)]
    [fastCSharp.emit.jsonSerialize(IsAllMember = true)]
    [fastCSharp.emit.jsonParse(IsAllMember = true)]
    [fastCSharp.code.cSharp.webView.clientType(Name = "diantou.tutorial")]
    [fastCSharp.code.cSharp.sqlModel(LogTcpCallService = "DataLog")]
    public partial class tutorial
    {
        /// <summary>
        /// 教程标识
        /// </summary>
        [fastCSharp.code.cSharp.webView.outputAjax]
        public int Id;
        /// <summary>
        /// 创建用户标识
        /// </summary>
        public int UserId;
        /// <summary>
        /// 问题标识
        /// </summary>
        public int QuestionId;
        /// <summary>
        /// 浏览次数
        /// </summary>
        public int BrowseCount;
        /// <summary>
        /// 点头盾数量
        /// </summary>
        public int Point;
        /// <summary>
        /// 图片
        /// </summary>
        [fastCSharp.emit.dataMember(IsAscii = true, MaxStringLength = 64)]
        public sqlMember.image Icon = string.Empty;
        /// <summary>
        /// 标题
        /// </summary>
        [fastCSharp.emit.dataMember(MaxStringLength = 256)]
        public string Title;
        /// <summary>
        /// 起始时间
        /// </summary>
        public DateTime StartTime = fastCSharp.pub.MinTime;
        /// <summary>
        /// 是否发布
        /// </summary>
        public bool IsShow;

        /// <summary>
        /// 课程描述
        /// </summary>
        [fastCSharp.emit.dataMember(Group = 1, MaxStringLength = 64 << 10)]
        public string Remark = string.Empty;
        /// <summary>
        /// 基础课程标识集合
        /// </summary>
        [fastCSharp.emit.dataMember(Group = 1, IsAscii = true, MaxStringLength = 64)]
        public fastCSharp.sql.jsonMember<int[]> BaseTutorialIds;
        /// <summary>
        /// 提高课程标识集合
        /// </summary>
        [fastCSharp.emit.dataMember(Group = 1, IsAscii = true, MaxStringLength = 64)]
        public fastCSharp.sql.jsonMember<int[]> UpTutorialIds;

        ///// <summary>
        ///// 基础课程数量
        ///// </summary>
        //[fastCSharp.emit.dataMember(IsIgnoreCurrent = true)]
        //public int BaseCount;
        ///// <summary>
        ///// 提高课程数量
        ///// </summary>
        //[fastCSharp.emit.dataMember(IsIgnoreCurrent = true)]
        //public int UpCount;
        /// <summary>
        /// 课程数量
        /// </summary>
        [fastCSharp.emit.dataMember(IsIgnoreCurrent = true, IsSqlStream = true)]
        public int CourseCount;
        /// <summary>
        /// 课程分页数量
        /// </summary>
        [fastCSharp.emit.dataMember(IsIgnoreCurrent = true, IsSqlStream = true)]
        public int CoursePageCount;
        /// <summary>
        /// 参与用户数量
        /// </summary>
        [fastCSharp.emit.dataMember(IsIgnoreCurrent = true, IsSqlStream = true)]
        public int UserCount;
        /// <summary>
        /// 通过用户数量
        /// </summary>
        [fastCSharp.emit.dataMember(IsIgnoreCurrent = true, IsSqlStream = true)]
        public int PassUserCount;
    }
}
